package Dominio;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ApuestaData {
	private int _id;
	private Deporte _tipo;
	private String _local;
	private String _visitante;
	private float _ratio1;
	private float _ratiox;
	private float _ratio2;
	private Date _fechaCreacion;
	private Date _fechaFin;
	private boolean _validado;

	public ApuestaData(int id) {
		set_id(id);
	}

	public ApuestaData(int id, Deporte t, String l, String v, float r1,
			float rx, float r2, Date fC, Date fF, boolean val) {
		set_id(id);
		set_tipo(t);
		set_local(l);
		set_visitante(v);
		set_ratio1(r1);
		set_ratiox(rx);
		set_ratio2(r2);
		set_fechaCreacion(fC);
		set_fechaFin(fF);
		set_validado(val);
	}

	public ApuestaData(int id, Deporte t, String l, String v, float r1,
			float rx, float r2, Date fC, Date fF) {
		set_id(id);
		set_tipo(t);
		set_local(l);
		set_visitante(v);
		set_ratio1(r1);
		set_ratiox(rx);
		set_ratio2(r2);
		set_fechaCreacion(fC);
		set_fechaFin(fF);
		_validado = false;
	}

	public ApuestaData(int id, String t, String l, String v, float r1,
			float rx, float r2, String fC, String fF, boolean val) {
		set_id(id);
		set_tipo(t);
		set_local(l);
		set_visitante(v);
		set_ratio1(r1);
		set_ratiox(rx);
		set_ratio2(r2);
		set_fechaCreacion(fC);
		set_fechaFin(fF);
		set_validado(val);
	}

	public ApuestaData(String t, String l, String v, float r1,
			float rx, float r2, String fF) {
		set_tipo(t);
		set_local(l);
		set_visitante(v);
		set_ratio1(r1);
		set_ratiox(rx);
		set_ratio2(r2);
		set_fechaFin(fF);
		_validado = false;
	}
	
	public int get_id() {
		return _id;
	}

	public void set_id(int _id) {
		this._id = _id;
	}

	public Deporte get_tipo() {
		return _tipo;
	}

	public void set_tipo(Deporte _tipo) {
		this._tipo = _tipo;
	}

	public String get_local() {
		return _local;
	}

	public void set_local(String _local) {
		this._local = _local;
	}

	public String get_visitante() {
		return _visitante;
	}

	public void set_visitante(String _visitante) {
		this._visitante = _visitante;
	}

	public float get_ratio1() {
		return _ratio1;
	}

	public void set_ratio1(float _ratio1) {
		this._ratio1 = _ratio1;
	}

	public float get_ratiox() {
		return _ratiox;
	}

	public void set_ratiox(float _ratiox) {
		this._ratiox = _ratiox;
	}

	public float get_ratio2() {
		return _ratio2;
	}

	public void set_ratio2(float _ratio2) {
		this._ratio2 = _ratio2;
	}

	public Date get_fechaCreacion() {
		return _fechaCreacion;
	}

	public void set_fechaCreacion(Date _fechaCreacion) {
		this._fechaCreacion = _fechaCreacion;
	}

	public Date get_fechaFin() {
		return _fechaFin;
	}

	public void set_fechaFin(Date _fechaFin) {
		this._fechaFin = _fechaFin;
	}

	public boolean is_validado() {
		return _validado;
	}

	public void set_validado(boolean _validado) {
		this._validado = _validado;
	}

	public void set_tipo(String tipo) {
		if (tipo.equalsIgnoreCase("futbol"))
			_tipo = Deporte.FUTBOL;
		else if (tipo.equalsIgnoreCase("baloncesto"))
			_tipo = Deporte.BALONCESTO;
		else if (tipo.equalsIgnoreCase("tenis"))
			_tipo = Deporte.TENIS;
		else if (tipo.equalsIgnoreCase("f1"))
			_tipo = Deporte.F1;
		else if (tipo.equalsIgnoreCase("volleyball"))
			_tipo = Deporte.VOLLEYBALL;
	}

	public void set_fechaCreacion(String fC) {
		Date date = null;
		if (!fC.equals("")) {
			try {
				date = new SimpleDateFormat("yyyy-MM-dd").parse(fC);
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}
		_fechaCreacion = date;
	}

	public void set_fechaFin(String fF) {
		Date date = null;
		if (!fF.equals("")) {
			try {
				date = new SimpleDateFormat("yyyy-MM-dd").parse(fF);
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}
		_fechaFin = date;
	}

	public String get_tipoString() {
		switch (_tipo) {
		case FUTBOL:
			return "futbol";
		case BALONCESTO:
			return "baloncesto";
		case TENIS:
			return "tenis";
		case F1:
			return "f1";
		case VOLLEYBALL:
			return "volleyball";
		default:
			return "";
		}
	}

	public String get_fechaCreacionString() {
		if (_fechaCreacion != null)
			return new SimpleDateFormat("yyyy-MM-dd").format(_fechaCreacion);
		else
			return "";
	}

	public String get_fechaFinString() {
		if (_fechaFin != null)
			return new SimpleDateFormat("yyyy-MM-dd").format(_fechaFin);
		else
			return "";
	}

	public String toString() {
		return "ID: " + _id + "\nDEPORTE: " + get_tipoString() + "\nLOCAL: "
				+ _local + "\nVISITANTE: " + _visitante /*+ "\nRATIO1: "
				+ _ratio1 + " RATIOx: " + _ratiox + " RATIO2: " + _ratio2
				+ "\nFECHA CREACION: " + get_fechaCreacionString()
				+ "\nFECHA FIN: " + get_fechaFinString() + "\nVALIDADO: "
				+ _validado */+ "\n";
	}
}
